package com.ruoyi.chengkao.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 考生报名信息对象 ck_candidate_registration
 * 
 * @author xiaosong
 * @date 2025-03-17
 */
public class CkCandidateRegistration extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报名信息表主键 */
    private Long id;

    /** 考生身份证号，外键关联 tb_candidate(id_number) */
    @Excel(name = "考生身份证号，外键关联 tb_candidate(id_number)")
    private String idNumber;

    /** 文化程度，外键关联 ck_education(id) */
    @Excel(name = "文化程度，外键关联 ck_education(id)")
    private Long culturalLevelId;

    /** 毕业证书编号 */
    @Excel(name = "毕业证书编号")
    private String graduationCertificateNo;

    /** 毕业类型，外键关联 ck_graduation_type(id) */
    @Excel(name = "毕业类型，外键关联 ck_graduation_type(id)")
    private Long graduationTypeId;

    /** 毕业学校，外键关联 ck_school(id) */
    @Excel(name = "毕业学校，外键关联 ck_school(id)")
    private Long schoolId;

    /** 毕业日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "毕业日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date graduationDate;

    /** 职业类别，外键关联 ck_occupation(id) */
    @Excel(name = "职业类别，外键关联 ck_occupation(id)")
    private Long occupationId;

    /** 是否参加工作 */
    @Excel(name = "是否参加工作")
    private String isEmployed;

    /** 工作单位所在地 */
    @Excel(name = "工作单位所在地")
    private String workLocation;

    /** 工作单位名称 */
    @Excel(name = "工作单位名称")
    private String workUnitName;

    /** 参加工作日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "参加工作日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date employmentDate;

    /** 区外考生居住地，外键关联 ck_outside_residence(id) */
    @Excel(name = "区外考生居住地，外键关联 ck_outside_residence(id)")
    private Long outsideResidenceId;

    /** 报考军人服役地，外键关联 ck_military_service(id) */
    @Excel(name = "报考军人服役地，外键关联 ck_military_service(id)")
    private Long militaryServiceId;

    /** 报考类型，外键关联 ck_exam_type(id) */
    @Excel(name = "报考类型，外键关联 ck_exam_type(id)")
    private Long examTypeId;

    /** 户籍所在地名称 */
    @Excel(name = "户籍所在地名称")
    private String householdLocation;

    /** 考生特征，外键关联 ck_candidate_feature(id) */
    @Excel(name = "考生特征，外键关联 ck_candidate_feature(id)")
    private Long candidateFeatureId;

    /** 招生类别，外键关联 ck_admission_category(id) */
    @Excel(name = "招生类别，外键关联 ck_admission_category(id)")
    private Long admissionCategoryId;

    /** 报考层次，外键关联 ck_exam_level(id) */
    @Excel(name = "报考层次，外键关联 ck_exam_level(id)")
    private Long examLevelId;

    /** 报考科类，外键关联 ck_exam_subject(id) */
    @Excel(name = "报考科类，外键关联 ck_exam_subject(id)")
    private Long examSubjectId;

    /** 报考学习地点，外键关联 ck_study_location(id) */
    @Excel(name = "报考学习地点，外键关联 ck_study_location(id)")
    private Long studyLocationId;

    /** 学习形式，外键关联 ck_study_mode(id) */
    @Excel(name = "学习形式，外键关联 ck_study_mode(id)")
    private Long studyModeId;

    /** 报名点信息，外键关联 ck_exam_site(id) */
    @Excel(name = "报名点信息，外键关联 ck_exam_site(id)")
    private Long examSiteId;

    /** 邮政编码 */
    @Excel(name = "邮政编码")
    private String postalCode;

    /** 报考志愿院校名称，外键关联 ck_exam_university(id) */
    @Excel(name = "报考志愿院校名称，外键关联 ck_exam_university(id)")
    private Long examUniversityId;

    /** 意向专业，外键关联 ck_major(id) */
    @Excel(name = "意向专业，外键关联 ck_major(id)")
    private Long majorId;

    /** 紧急联系电话 */
    @Excel(name = "紧急联系电话")
    private String emergencyContact;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setCulturalLevelId(Long culturalLevelId) 
    {
        this.culturalLevelId = culturalLevelId;
    }

    public Long getCulturalLevelId() 
    {
        return culturalLevelId;
    }
    public void setGraduationCertificateNo(String graduationCertificateNo) 
    {
        this.graduationCertificateNo = graduationCertificateNo;
    }

    public String getGraduationCertificateNo() 
    {
        return graduationCertificateNo;
    }
    public void setGraduationTypeId(Long graduationTypeId) 
    {
        this.graduationTypeId = graduationTypeId;
    }

    public Long getGraduationTypeId() 
    {
        return graduationTypeId;
    }
    public void setSchoolId(Long schoolId) 
    {
        this.schoolId = schoolId;
    }

    public Long getSchoolId() 
    {
        return schoolId;
    }
    public void setGraduationDate(Date graduationDate) 
    {
        this.graduationDate = graduationDate;
    }

    public Date getGraduationDate() 
    {
        return graduationDate;
    }
    public void setOccupationId(Long occupationId) 
    {
        this.occupationId = occupationId;
    }

    public Long getOccupationId() 
    {
        return occupationId;
    }
    public void setIsEmployed(String isEmployed) 
    {
        this.isEmployed = isEmployed;
    }

    public String getIsEmployed() 
    {
        return isEmployed;
    }
    public void setWorkLocation(String workLocation) 
    {
        this.workLocation = workLocation;
    }

    public String getWorkLocation() 
    {
        return workLocation;
    }
    public void setWorkUnitName(String workUnitName) 
    {
        this.workUnitName = workUnitName;
    }

    public String getWorkUnitName() 
    {
        return workUnitName;
    }
    public void setEmploymentDate(Date employmentDate) 
    {
        this.employmentDate = employmentDate;
    }

    public Date getEmploymentDate() 
    {
        return employmentDate;
    }
    public void setOutsideResidenceId(Long outsideResidenceId) 
    {
        this.outsideResidenceId = outsideResidenceId;
    }

    public Long getOutsideResidenceId() 
    {
        return outsideResidenceId;
    }
    public void setMilitaryServiceId(Long militaryServiceId) 
    {
        this.militaryServiceId = militaryServiceId;
    }

    public Long getMilitaryServiceId() 
    {
        return militaryServiceId;
    }
    public void setExamTypeId(Long examTypeId) 
    {
        this.examTypeId = examTypeId;
    }

    public Long getExamTypeId() 
    {
        return examTypeId;
    }
    public void setHouseholdLocation(String householdLocation) 
    {
        this.householdLocation = householdLocation;
    }

    public String getHouseholdLocation() 
    {
        return householdLocation;
    }
    public void setCandidateFeatureId(Long candidateFeatureId) 
    {
        this.candidateFeatureId = candidateFeatureId;
    }

    public Long getCandidateFeatureId() 
    {
        return candidateFeatureId;
    }
    public void setAdmissionCategoryId(Long admissionCategoryId) 
    {
        this.admissionCategoryId = admissionCategoryId;
    }

    public Long getAdmissionCategoryId() 
    {
        return admissionCategoryId;
    }
    public void setExamLevelId(Long examLevelId) 
    {
        this.examLevelId = examLevelId;
    }

    public Long getExamLevelId() 
    {
        return examLevelId;
    }
    public void setExamSubjectId(Long examSubjectId) 
    {
        this.examSubjectId = examSubjectId;
    }

    public Long getExamSubjectId() 
    {
        return examSubjectId;
    }
    public void setStudyLocationId(Long studyLocationId) 
    {
        this.studyLocationId = studyLocationId;
    }

    public Long getStudyLocationId() 
    {
        return studyLocationId;
    }
    public void setStudyModeId(Long studyModeId) 
    {
        this.studyModeId = studyModeId;
    }

    public Long getStudyModeId() 
    {
        return studyModeId;
    }
    public void setExamSiteId(Long examSiteId) 
    {
        this.examSiteId = examSiteId;
    }

    public Long getExamSiteId() 
    {
        return examSiteId;
    }
    public void setPostalCode(String postalCode) 
    {
        this.postalCode = postalCode;
    }

    public String getPostalCode() 
    {
        return postalCode;
    }
    public void setExamUniversityId(Long examUniversityId) 
    {
        this.examUniversityId = examUniversityId;
    }

    public Long getExamUniversityId() 
    {
        return examUniversityId;
    }
    public void setMajorId(Long majorId) 
    {
        this.majorId = majorId;
    }

    public Long getMajorId() 
    {
        return majorId;
    }
    public void setEmergencyContact(String emergencyContact) 
    {
        this.emergencyContact = emergencyContact;
    }

    public String getEmergencyContact() 
    {
        return emergencyContact;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("idNumber", getIdNumber())
            .append("culturalLevelId", getCulturalLevelId())
            .append("graduationCertificateNo", getGraduationCertificateNo())
            .append("graduationTypeId", getGraduationTypeId())
            .append("schoolId", getSchoolId())
            .append("graduationDate", getGraduationDate())
            .append("occupationId", getOccupationId())
            .append("isEmployed", getIsEmployed())
            .append("workLocation", getWorkLocation())
            .append("workUnitName", getWorkUnitName())
            .append("employmentDate", getEmploymentDate())
            .append("outsideResidenceId", getOutsideResidenceId())
            .append("militaryServiceId", getMilitaryServiceId())
            .append("examTypeId", getExamTypeId())
            .append("householdLocation", getHouseholdLocation())
            .append("candidateFeatureId", getCandidateFeatureId())
            .append("admissionCategoryId", getAdmissionCategoryId())
            .append("examLevelId", getExamLevelId())
            .append("examSubjectId", getExamSubjectId())
            .append("studyLocationId", getStudyLocationId())
            .append("studyModeId", getStudyModeId())
            .append("examSiteId", getExamSiteId())
            .append("postalCode", getPostalCode())
            .append("examUniversityId", getExamUniversityId())
            .append("majorId", getMajorId())
            .append("emergencyContact", getEmergencyContact())
            .toString();
    }
}
